/*
	Written By Sanjay Giri and Pradipna Nepal
	www.pradsprojects.com
	
	Copyright (C) 2012 Prads Projects
	Please read COPYING.txt included along with this source code for more detail.
	If not included, see http://www.gnu.org/licenses/
*/

#ifndef LIBTOKEN_H
#define LIBTOKEN_H

#include <string>
#include "resTokenTypes.h"
using namespace std;

class Token{
private:
	string value;
	TokenType type;
	TokenDescription description;
public:
	Token();
	Token(string v, TokenType t, TokenDescription d);
	Token & operator = (const Token & t);
	
	string getValue() const;
	TokenType getToken() const;
	TokenDescription getDescription() const;
	
	void setValue(string v);
	void setType(TokenType t);
	void setDescription(TokenDescription d);
};

#endif